import axios from 'axios';
import JSZip from 'jszip'
import FileSaver from 'file-saver'


const getFile = url => {
  return new Promise((resolve, reject) => {
    axios({
      method: 'get',
      url,
      responseType: 'arraybuffer'
    }).then(data => {
      resolve(data.data)
    }).catch(error => {
      reject(error.toString())
    })
  })
}

// export const handleBatchDownload = (data) => {
//   // const data = ['http://39.108.61.54:9000/apk/jiangsu/%E4%BD%93%E8%82%B2%E4%BA%91.apk', 'http://39.108.61.54:9000/apk/hebei/%E4%BD%93%E8%82%B2%E4%BA%91.apk'] // 需要下载打包的路径, 可以是本地相对路径, 也可以是跨域的全路径
//   const zip = new JSZip()
//   const cache = {}
//   const promises = []
//   data.forEach(item => {
//     const promise = getFile(item).then(data => { // 下载文件, 并存成ArrayBuffer对象
//       const arr_name = item.split("/")
//       const file_name = arr_name[arr_name.length - 1] // 获取文件名
//       zip.file(file_name, data, { binary: true }) // 逐个添加文件
//       cache[file_name] = data
//     })
//     promises.push(promise)
//   })
//   Promise.all(promises).then(() => {
//     zip.generateAsync({ type: "blob" }).then(content => { // 生成二进制流
//       FileSaver.saveAs(content, "打包下载.zip") // 利用file-saver保存文件
//     })
//   })
// }

export const handleBatchDownload = (url)=> {
  const iframe = document.createElement("iframe");
  iframe.style.display = "none"; // 防止影响页面
  iframe.style.height = 0; // 防止影响页面
  iframe.src = url;
  document.body.appendChild(iframe); // 这一行必须，iframe挂在到dom树上才会发请求
  // 5分钟之后删除（onload方法对于下载链接不起作用，就先抠脚一下吧）
  setTimeout(()=>{
    iframe.remove();
  }, 5 * 60 * 1000);
}
